Conrad Systems Development

Conrad Systems Development


  Home

  B.O.$.$

  Client List

Access Information
  Resources
  Calendars
  Corruption
  App Close Button
  Macro Security
  Kick Them Off
  Database Splitting
  Combo Boxes
  Tab Colors
  Progress Bars
  Backgrounds
  Navigation
  Command Buttons
  References
  Demo Database
  Form Resize
  TreeView Control
  Switchboard FAQ
  Matching Games
  Top 10 Lists
  CSD Tools
  Technical Articles
  Document Tables
  Calculators
  Shift Key Bypass
  Epson Printer Info
  Newsgroup Help

  Contact Us


                                 Disable Application Close [X] Button 
                             

Here are a few various techniques for disabling the main Access application close button.

1. ACC: How to Disable the Close Button (X) on the Access
Application Window (95/97)
http://support.microsoft.com/?id=258049

2. ACC2000: How to Disable the Close Button (X) on the Access
Application Window
http://support.microsoft.com/?id=245746

3. ACC2002: How to Disable the Close Button (X) on the Access
Application Window and the Exit Command on the File Menu
http://support.microsoft.com/?id=300688

4. Alternatively, take a look here:
http://www.mvps.org/access/general/gen0005.htm

5. A visual walk-through guide can be found here:
http://www.datapigtechnologies.com/flashfiles/preventcloseform.html

6. Another option here:
http://www.access-programmers.co.uk/forums/showthread.php?t=65361

7. Access: Hide close button on Access program
http://www.techonthenet.com/access/modules/hide_close.php

8. Code and sample file here:
http://tinyurl.com/b2xxu

9. Sample file for download here:
http://www.access-programmers.co.uk/forums/showthread.php?t=98554

10. And some ready made code from Access MVP   Terry Kreft:

Paste the following code into a module, then call it with
    Call Buttons(false)

To turn them off and
    Call Buttons(True)

to turn them on

' ********** Code Start *************
Option Explicit

Private Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_SYSMENU = &H80000


Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Public Const SWP_FRAMECHANGED = &H20

Private Declare Function GetWindowLong _
Lib "user32" Alias "GetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long _
) As Long

Private Declare Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" ( _
  ByVal hwnd As Long, _
  ByVal nIndex As Long, _
  ByVal dwNewLong As Long _
) As Long

Private Declare Function SetWindowPos _
Lib "user32" ( _
  ByVal hwnd As Long, _
  ByVal hWndInsertAfter As Long, _
  ByVal X As Long, _
  ByVal Y As Long, _
  ByVal cx As Long, _
  ByVal cy As Long, _
  ByVal wFlags As Long _
) As Long

' **************************************************

Function AccessTitleBar(Show As Boolean) As Long
  Dim hwnd As Long
  Dim nIndex As Long
  Dim dwNewLong As Long
  Dim dwLong As Long
  Dim wFlags As Long

  hwnd = hWndAccessApp
  nIndex = GWL_STYLE
  wFlags = SWP_NOSIZE + SWP_NOZORDER + SWP_FRAMECHANGED + SWP_NOMOVE

  dwLong = GetWindowLong(hwnd, nIndex)

  If Show Then
    dwNewLong = (dwLong Or WS_CAPTION)
  Else
    dwNewLong = (dwLong And Not WS_CAPTION)
  End If

  Call SetWindowLong(hwnd, nIndex, dwNewLong)
  Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, wFlags)
End Function


Function Buttons(Show As Boolean) As Long
  Dim hwnd As Long
  Dim nIndex As Long
  Dim dwNewLong As Long
  Dim dwLong As Long

  hwnd = hWndAccessApp
  nIndex = GWL_STYLE

  Const wFlags = SWP_NOSIZE + SWP_NOZORDER + SWP_FRAMECHANGED + SWP_NOMOVE
  Const FLAGS_COMBI = WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SYSMENU

  dwLong = GetWindowLong(hwnd, nIndex)

  If Show Then
    dwNewLong = (dwLong Or FLAGS_COMBI)
  Else
    dwNewLong = (dwLong And Not FLAGS_COMBI)
  End If

  Call SetWindowLong(hwnd, nIndex, dwNewLong)
  Call SetWindowPos(hwnd, 0&, 0&, 0&, 0&, 0&, wFlags)
End Function

' ********** Code End *************

Top Top

© Copyright 2005-2010 Conrad Systems Development - All Rights Reserved

This page was last updated on Sunday, September 19, 2010.

Site created with FrontPage